package com.mmall.Concurrency.example.singleton;

/*
    饿汉模式，单例实例在类装载时就创建
    因为饿，所以一开始就创建，保证线程安全
 */
import com.mmall.Concurrency.annoations.ThreadSafe;

/**
 * 如果构造方法中有过多的处理，会导致类加载的时候特别慢，性能降低
 * 如果只加载不调用，则资源浪费
 */
@ThreadSafe
public class SingletonExample2 {

    //不能随便new新的对象出来，则构造方法为私有的
    private SingletonExample2(){

    }
    //单例对象
    private static SingletonExample2 instance = new SingletonExample2();

    //静态的工厂方法
    private static SingletonExample2 getInstance(){

        return instance;
    }
}
